package pack0917;

import java.util.Scanner;

// 练习讲解
public class Work03 {

    // 1.求出100以内所有偶数的和；
    public static void a() {
        int sum = 0;
        for (int i = 0; i < 101; i++) {
            if (i % 2 == 0) {
                sum += i;
            }
        }
        System.out.println(sum);
    }


    // 2.输出100以内能被7整除的前5个数；
    public static void b() {
        int i = 1;
        int count = 0;
        while (i < 101) {
            if (i % 7 == 0) {
                count++;
                System.out.print(i + ",");
            }
            if (count == 5) {
                System.out.print("\b");
                break;
            }
            i++;
        }
    }

    // 3.用户输入一个数，计算出这个数的阶乘；
    public static void c() {
        Scanner scan = new Scanner(System.in);
        System.out.print("Input:");
        int n = scan.nextInt();
        int ji = 1;
        for (int i = 1; i <= n; i++) {
            ji = ji * i; // 1 * 1 * 2 * 3 * 4
        }
        System.out.println(ji);
    }

    // 6.求出1000以内所有能被4和5整除并且不能被3整除的数之和；
    public static void d() {
        int sum = 0;
        for (int i = 0; i < 1000; i++) {
            if (i % 20 == 0 && i % 3 != 0) {
                sum += i;
            }
        }
        System.out.println(sum);
    }

    // 7.1~10之间的整数相加，得到累加值大于20的当前数；
    public static void e() {
        int sum = 0;
        for (int i = 1; i < 11; i++) {
            sum += i;
            if (sum > 20) {
                System.out.println("当前数是：" + i);
                break;
            }
        }
    }

    // 8.求出1000以内所有能被9整除的数，每行显示5个数；
    public static void f() {
        int count = 0;
        for (int i = 1; i < 1001; i++) {
            if (i % 9 == 0) {
                System.out.print(i + " ");
                count++;
                if (count % 5 == 0) {
                    System.out.println();
                }
            }
        }
    }

    // 9.求出10的N次方的值，N为用户输入的；
    public static void g() {
        Scanner scan = new Scanner(System.in);
        System.out.print("Input:");
        int n = scan.nextInt();
        int ji = 1;
        for (int i = 0; i < n; i++) {
            ji = ji * 10; // 1*10*10*10
        }
        System.out.println(ji);
    }

    // 10.循环打印出26个英文字母，并按照通用排列表排列；
    public static void h() {
        for (char i = 'a'; i <= 'z'; i++) {
            System.out.print(i + "\t");
            if (i == 'g' || i == 'n' || i == 't') {
                System.out.println();
            }
            if (i == 'q' || i == 'w') {
                System.out.print("\t");
            }
        }
    }

    /*
    12.实现：输出摄氏温度与华氏温度的对照表，要求它从摄氏温度0度到250度，每隔20度为一项，对照表中的条目不超过10条。
	转换关系：华氏温度 = 摄氏温度 * 9 / 5.0 + 32
	提示：	1、循环操作：计算摄氏温度，并输出对照条目
			2、循环条件：条目<=10 && 摄氏温度 <= 250
     */
    public static void i() {
        int sheshi = 0;
        double huashi;
        System.out.println("序号\t华氏温度\t摄氏温度");
        for (int i = 1; i < 11; i++) {
            huashi = sheshi * 9 / 5.0 + 32;
            System.out.println(i + "\t" + huashi + "\t" + sheshi);
            sheshi = sheshi + 20;
        }
    }

    // 13.有一个猜数字游戏，系统随机生成一个数用户来猜，每人有10次机会。
    // 当用户猜完之后统计用户得分情况（猜对一次给1分，猜错不得分），每一个档次的分数所给出的提示不同。
    // （要求当用户连续输入三次错误的时候直接退出并给出评价）；
    public static void j() {
        Scanner scan = new Scanner(System.in);
        int success = 0;
        int error = 0;
        int b = (int) (Math.random() * 10 + 1);
        for (int i = 0; i < 10; i++) {
            System.out.print("Input:");
            int a = scan.nextInt();
            if (a == b) {
                success++;
                b = (int) (Math.random() * 10 + 1);
                System.out.println("恭喜你，对了");
                error = 0;
            } else {
                error++;
                System.out.println("很遗憾，错了");
            }
            if (error == 3) {
                System.out.println("你太菜了，再见！");
                break;
            }
        }
        System.out.println(success);
        System.out.println(error);
    }

    // 15.<u>将一个正整数分解质因数。例如：输入90,打印出90=2 * 3 * 3 * 5；</u>
    public static void k() {
        int number = (int) (Math.random() * 100 + 10);
        //System.out.println("number:" + number);
        System.out.print(number + "=");
        for (int i = 2; i < number; i++) {
            if (number % i == 0) {
                System.out.print(i + "*");
                number = number / i;
                i = 1;
            }
        }
        System.out.println(number);
    }

    // 18.有一分数序列：2/1，3/2，5/3，8/5，13/8，21/13...求出这个数列的前20项之和；
    public static void l() {
        double sum = 0;
        double fz1 = 2, fz2 = 3;
        double fm1 = 1, fm2 = 2;
        sum = fz1 / fm1 + fz2 / fm2;
        for (int i = 1; i < 19; i++) {
            double fm3 = fm1 + fm2;
            fm1 = fm2;
            fm2 = fm3;
            double fz3 = fz1 + fz2;
            fz1 = fz2;
            fz2 = fz3;
            sum = fz3 / fm3 + sum;
        }
        System.out.println(sum);
    }

    // 19.求出1!+2!+...+n!是多少？（n是用户输入的数）；
    public static void m() {
        Scanner scan = new Scanner(System.in);
        System.out.print("Input:");
        int n = scan.nextInt();
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            int ji = 1;
            for (int j = 1; j <= i; j++) {
                ji = ji * j;
            }
            sum += ji;
        }
        System.out.println(sum);
    }

    // 20.求100之内的素数之和；
    public static void n() {
        int sum = 2;
        for (int i = 3; i < 100; i++) {
            boolean flag = true;
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                sum += i;
            }
        }
        System.out.println(sum);
    }

    public static void main(String[] args) {
        n();
    }
}